package com.indusfo.spc.service;

import com.indusfo.spc.pojo.MaintainPlan;
import com.indusfo.spc.pojo.MaintainPlanDetail;
import com.indusfo.spc.vo.JSONObject;

/**
 * @ClassName MaintainPlanService
 * @Description 设备保养计划service
 * @Author louk
 * @Date 2019/12/11 14:55
 * @Version 1.0
 */
public interface MaintainPlanService {
    /**
     * 新增设备保养项目
     * @param maintainPlan
     * @return
     */
    JSONObject insertMaintainPlan(MaintainPlan maintainPlan,Integer[] maintainIds);

    /**
     * 查询设备保养项目
     * @param maintainPlanDetail
     * @return
     */
    JSONObject queryMaintainPlanDetail(MaintainPlanDetail maintainPlanDetail);

    /**
     * 编辑设备保养项目
     * @param maintainPlan
     * @return
     */
    JSONObject updateMaintainPlan(MaintainPlan maintainPlan,Integer[] inspectIds);

    /**
     * 审核状态修改
     * @param maintainPlanIds
     * @param auditState
     * @return
     */
    JSONObject auditStateChange(Integer[] maintainPlanIds,Integer auditState,Integer[] auditStateIds);

    /**
     * 查询设备保养项目
     * @param maintainPlan
     * @return
     */
    JSONObject queryMaintainPlan(MaintainPlan maintainPlan,String startDate,String endDate);

    /**
     * 数据状态修改
     * @param maintainPlanIds
     * @param dataState
     * @return
     */
    JSONObject defineDataState(Integer[] maintainPlanIds,Integer dataState,Integer[] auditState);

    /**
     * 新增设备保养计划明细时查询保养项目
     * @param maintainPlan
     * @return
     */
    JSONObject filterMaintainList(MaintainPlan maintainPlan,Integer[] maintainIds);
    /**
     * 查询指定设备的保养项目
     * @param deviceId
     * @return
     */
    JSONObject queryMaintainByDevice(Integer deviceId);

}
